var index = window.location.href.indexOf('resources');
var rootUrl = window.location.href.slice(0, index).replace(window.location.origin, '');
// var rootUrl = 'http://192.168.0.23:8190/iportal/';


var ms = "mystorage";
var storage = window.localStorage || window.sessionStorage;
var _storage = {};

var set = function (key, value) {
    var mydata = storage.getItem(ms);
    if (!mydata) { this.init(); mydata = storage.getItem(ms); }
    mydata = JSON.parse(mydata);
    mydata.data[key] = value;
    storage.setItem(ms, JSON.stringify(mydata));
    return mydata.data;
};
var get = function (key) {
    var mydata = storage.getItem(ms);
    if (!mydata) { return false; }
    mydata = JSON.parse(mydata);
    return mydata.data[key];
};
var remove = function (key) {
    var mydata = storage.getItem(ms);
    if (!mydata) { return false; };
    mydata = JSON.parse(mydata);
    delete mydata.data[key];
    storage.setItem(ms, JSON.stringify(mydata));
    return mydata.data;
};
var clear = function () { storage.removeItem(ms); };
var init = function () { storage.setItem(ms, '{"data":{}}'); };

var _storage = {
    set: set,
    get: get,
    remove: remove,
    init: init,
    clear: clear
};

var apis = {
    login: function (param, success) {
        var url = rootUrl + 'web/login.json';
        $.ajax({
            type: "POST",
            url: url,
            data: JSON.stringify(param),
            dataType: 'json',
            success: function (result) {
                if (result.succeed) {
                    success();
                } else {
                    Message.show('error', '登录失败！');
                }
            },
            error: function (e) {
                Message.show('error', e.responseText ? JSON.parse(e.responseText).error.errorMsg : '服务器出现问题,请刷新后再次尝试！');
            }
        });
    },
    getUserInfo: function () {
        $.ajax({
            type: "GET",
            url: rootUrl + 'web/mycontent/account.json',
            dataType: 'json',
            success: function (result) {
                result.username = result.name
                _storage.set('userInfo', result);
                var lastReadPage = _storage.get('lastReadPage');
                var g = (function () {
                    var c = 'JSESSIONID';
                    var m = null;
                    document.cookie.replace(/\s/g, '').split(';').map(function (e) {
                        var q = e.split('=');
                        if (q[0] == c) {
                            m = q[1];
                        };
                    });
                    return m;
                })();
                _storage.set('JSESSIONID', g);
                if (lastReadPage) {
                    _storage.remove('lastReadPage');
                    window.parent.open(lastReadPage, "_self");
                } else {
                    window.parent.open(rootUrl + "web-ui/home", "_self");
                };
            },
            error: function (e) {
                Message.show('error', e.responseText ? JSON.parse(e.responseText).error.errorMsg : '登录失败！');
            }
        });
    },

    sign_up: function (param) {
        var registerUrl = rootUrl + 'web/users.json';
        var checkNameUrl = rootUrl + 'web/users/registered.json?username=' + param.name;
        var checkNicknameUrl = rootUrl + 'web/users/nickname/isregistered.json?nickname=' + param.nickname;
        $.ajax({
            type: "GET",
            url: checkNameUrl,
            dataType: 'json',
            success: function (result) {
                if (!result) {
                    $.ajax({
                        type: "GET",
                        url: checkNicknameUrl,
                        dataType: 'json',
                        success: function (result) {
                            if (!result) {
                                $.ajax({
                                    type: "POST",
                                    url: registerUrl,
                                    data: JSON.stringify(param),
                                    dataType: 'json',
                                    success: function (result) {
                                        if (result.succeed) {
                                            apis.login({
                                                username: param.name,
                                                password: param.password,
                                                rememberme: false
                                            }, function () {
                                                apis.getUserInfo();
                                            });
                                        } else {
                                            Message.show('error', '注册失败');
                                        }
                                    }
                                });
                            } else {
                                Message.show('error', '该昵称已存在');
                            }
                        }
                    });
                } else {
                    Message.show('error', '该用户已存在');
                }
            }
        });
    },

    // getQuestion: function (name, success) {
    //     var url = rootUrl + 'web/users/' + name + '/pwdquestion.json';
    //     $('body').loading();
    //     $.ajax({
    //         type: "GET",
    //         url: url,
    //         dataType: 'text',
    //         success: function (result) {
    //             $('body').loading();
    //             success(result);
    //         },
    //         error: function (e) {
    //             $('body').loading();
    //             alert(e.responseText ? JSON.parse(e.responseText).error.errorMsg : '获取安全性问题失败');
    //         }
    //     });
    // },
    // validateAnswer: function (param, name, success) {
    //     var url = rootUrl + 'web/users/' + name + '/isanswer.json';
    //     $('body').loading();
    //     $.ajax({
    //         type: "POST",
    //         url: url,
    //         data: JSON.stringify(param),
    //         dataType: 'json',
    //         success: function (result) {
    //             $('body').loading();
    //             if (result.succeed) {
    //                 success(true);
    //             } else {
    //                 alert("答案错误");
    //             }
    //         },
    //         error: function (e) {
    //             $('body').loading();
    //             alert(e.responseText ? JSON.parse(e.responseText).error.errorMsg : '服务器出现问题,请刷新后再次尝试');
    //         }
    //     });
    // },
    // updatePassword: function (param, name) {
    //     var url = rootUrl + 'web/users/' + name + '/password.json';
    //     $('body').loading();
    //     $.ajax({
    //         type: "PUT",
    //         url: url,
    //         data: JSON.stringify(param),
    //         dataType: 'json',
    //         success: function (result) {
    //             $('body').loading();
    //             if (result.succeed) {
    //                 alert("修改密码成功！请使用新密码登录");
    //                 window.parent.changeRoute("login");
    //             } else {
    //                 if (result.error && result.error.errorMsg) {
    //                     alert(result.error.errorMsg);
    //                 } else {
    //                     alert("修改失败");
    //                 };
    //                 location.reload();
    //             }
    //         },
    //         error: function (e) {
    //             $('body').loading();
    //             alert(e.responseText ? JSON.parse(e.responseText).error.errorMsg : '服务器出现问题,请刷新后再次尝试');
    //         }
    //     });
    // }
};